package com.sunshine.pay.entity;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

/**
 * 订单表(Order)实体类
 *
 * @author makejava
 * @since 2025-09-25 10:00:00
 */
public class Order implements Serializable {
    private static final long serialVersionUID = 454664708820448497L;
    
    /**
     * 订单唯一标识符
     */
    private Long orderId;
    
    /**
     * 订单编号
     */
    private String orderNo;
    
    /**
     * 下单用户ID
     */
    private Long userId;
    
    /**
     * 订单总金额
     */
    private Double totalAmount;
    
    /**
     * 订单状态（1-待支付，2-已支付，3-已发货，4-已完成，5-已取消）
     */
    private Integer status;
    
    /**
     * 支付时间
     */
    private Date paymentTime;
    
    /**
     * 创建时间
     */
    private Date createdAt;
    
    /**
     * 订单项列表
     */
    private List<OrderItem> orderItems;

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getPaymentTime() {
        return paymentTime;
    }

    public void setPaymentTime(Date paymentTime) {
        this.paymentTime = paymentTime;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    public List<OrderItem> getOrderItems() {
        return orderItems;
    }

    public void setOrderItems(List<OrderItem> orderItems) {
        this.orderItems = orderItems;
    }
}